﻿using Microsoft.Moles.Framework;

namespace Cesave.Infrastructure.Data.PermisosModule.Mock
{
    public partial class PermisosModuleFakeContext
        : Cesave.Infrastructure.Data.PermisosModule.Context.Moles.SIPermisosModuleContext
    {

        #region Constructor

        /// <summary>
        /// Constructor por defecto para PermisosModuleFakeContext.
        /// </summary>
        public PermisosModuleFakeContext()
        {
            InstanceBehavior = BehavedBehaviors.DefaultValue;

            InitiateInnerCollection();
            InitiateFakeData();
        }

        #endregion

        #region Pirvate methods

        private void InitiateInnerCollection()
        {
			InitiateInnerEstadosCollection();
			InitiateInnerDistritosCollection();
			InitiateInnerCiclosCollection();
			InitiateInnerMunicipiosCollection();
			InitiateInnerJuntasCollection();
			InitiateInnerAclCollection();
			InitiateInnerAgentesCollection();
			InitiateInnerAreasCollection();
			InitiateInnerAfianzadorasCollection();
			InitiateInnerConcesioCollection();
			InitiateInnerCiclosFechasCollection();
			InitiateInnerFoliosPermisoCollection();
        }

        private void InitiateFakeData()
        {
            // 
            // Configure object sets for queries
            // 

			// Estados
			InitiateFakeEstados();
			// Distritos
			InitiateFakeDistritos();
			// Ciclos
			InitiateFakeCiclos();
			// Municipios
			InitiateFakeMunicipios();
			// Juntas
			InitiateFakeJuntas();
			// Acl
			InitiateFakeAcl();
			// Agentes
			InitiateFakeAgentes();
			// Areas
			InitiateFakeAreas();
			// Afianzadoras
			InitiateFakeAfianzadoras();
			// Concesiones
			InitiateFakeConcesiones();
			// Fechas de ciclo
			InitiateFakeCiclosFechas();
			// Folios de permiso
			InitiateFakePermisosFolios();

            Commit = () =>
            {
            };
            CommitAndRefreshChanges = () =>
            {
            };
        }

        #endregion

    }
}
